Method and apparatus for creating a self booting operating system image backup on an external USB hard disk drive that is capable of performing a complete restore to an internal system disk

ABSTRACT

Backup applications that use externally connected hard disk drives for storing full image backups of a windows system disk or compressed image or file by file backups of a windows system disk. A system incrementally updates the images, including the system registry, and puts information on the external drive that makes it bootable.

This application claims priority from application No. 61/079,786, filedJul. 10, 2008, the entire contents of the disclosure of which isherewith incorporated by reference.

BACKGROUND

1. Field of the Invention

The present invention relates generally to software utilities for backupof operating system hard disk drives and bare metal restore.

2. Description of Prior Art

Prior art exists that relates to making external USB attached hard diskdrives bootable under various operating systems, including Windows.

Some of the art requires a person very skilled in computers, using amanual procedure(s) that may or may not work. Much of the prior artcontains some element of folklore that may or may not allow an externaldisk to be bootable on all systems.

Nedprod.com contains instructions that could help a person to constructa bootable US drive.

911.cd dot net is a forum of experimenters who have had varying amountsof success in creating bootable USB drives.

Published patent application 20070136568 describes a methodology similarto that found on nedprod.com. 20070136568 Ding illustrates creating abootable drive that will boot when a person skilled in the art changesthe boot order of the computer system bios. 20070136568 illustratesbooting an external USB drive to the point of a DOS prompt. It does notdescribe how a Graphical Users Interface (GUI) operating system can beexecuted. 20070136568 Ding will not allow the user to launch programsusing a mouse point and click.

An issue with these software backup solutions is when the system diskbecomes corrupted due to software errors or outside influences such asvirus' the backed up image cannot be booted unless the full image backupdisk is removed from its enclosure and placed into the system case. Thistask is often beyond the capabilities of the person who uses the system.Another approach some companies have taken is to provide a bootable CDor DVD that transfers the backed up image or the compressed image fromthe external hard disk drive onto the old system drive or new systemdrive. This method can take minutes per gigabyte to restore the systemdrive and if the data or applications residing on the image need to beaccessed immediately the user is prevented from accessing them until therestore operation is completed which may take several hours. Embodimentsovercome both issues of accessibility and quick restoration of thesystem.

SUMMARY OF THE INVENTION

Embodiments describe a software method to create a fully bootable copyof a windows system disk. The bootable copy is created onto a busconnected external hard disk drive. The external disk drive can bebooted such that the software that created the backup can be used tofully restore the system disk to a new internal disk in the event theoriginal system disk has crashed physically or the software on thesystem disk is rendered unusable.

Embodiments also describe allowing the user to boot and run othersoftware applications from the external drive until such a time as theuser can execute the restore application.

An embodiment describes creating bootable external hard disk drives thatwill, after changing the boot order of the computer system bios, boot tothe Windows GUI interface. These allow the user to select and execute arestore application that will image the bootable external drive over acorrupted or newly installed system drive.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are illustrated by way of example,and not by way of limitation. The following figures and the descriptionsboth brief and the detailed descriptions of the invention refer tosimilar elements and in which:

FIG. 1 depicts an embodiment showing a computer system with an externaldisk drive.

FIG. 2 depicts the invention and computer system with an external diskdrive with a bootable image of the system drive and an external CD/DVDdrive used to boot from a CD/DVD diskette.

DETAILED DESCRIPTION

An embodiment addresses issues of accessibility when an attached storagedevice is used for backing up a Windows system drive without the use ofbootable CDs or DVDs having to be used for the purpose of restoring thesystem to an existing corrupted system drive or a fresh unformattedsystem drive.

This process is often referred to in the literature as “bare metalrestore”. Bare Metal Restore is referenced in the literature and welldescribed in Wikipedia. The present system allows new functionality thatis not possible with previous system of this type.

An embodiment also allows a user to execute other applications to accessdata prior to the restore operation being performed and also allows theuser to replace a corrupted or physically incapacitated internal systemdrive with the USB external bootable drive.

FIG. 1 shows an embodiment 10 including a computer system 11. Computersystem 11 has microprocessor 13 connected to internal bus 12. BIOS(basic input/output system) 15 includes a set of software used bymicroprocessor 13 for determining which data source contains theoperating system that will be executed. BIOS 15 also contains a textbased user interface application that can be invoked at boot time by theuser to specify the order in which drives are examined for an operatingsystem. Typically BIOS 15 will direct microprocessor to first attemptbooting an operating system from system drive 14. During the bootprocess, microprocessor 13 will transfer operating system 16 from systemdrive 14 to system memory 20, then transfer control to operating system16. At some later point, the user selects software backup application 17for execution. This causes operating system 16 to transfer softwarebackup application 17 from system drive 14 to system memory 20 where itwill be executed by microprocessor 13.

Software backup application 17 contains special logic as described inthe embodiments. In the first embodiment of the invention, softwarebackup application 17 transfers an image of the system drive to externaldrive 20 via internal bus 12, external peripheral controller 18, andexternal bus 19. Software backup application 17 makes changes to thecopy of the operating system registry and to other portions of externaldrive 20 so as to make external drive 20 bootable over external USB bus19.

Software backup application 17 is executed either by the user or on acyclic schedule to locate and transfer recently changed or altered filesincluding system registry files residing on system drive 14 to externaldrive 20. This action is more commonly referred to as an incrementalbackup. In the first embodiment, software backup application 17 makeschanges after every incremental backup to the copy of the operatingsystem registry and to other portions of external drive 20 so as to makeexternal drive 20 bootable over external USB bus 19.

In another embodiment of the invention, software backup application 17will make the alterations to the system registry and other portions ofsystem drive 14 that would have normally be made to external drive 20.This embodiment of the invention alleviates the requirement for softwarebackup application 17 to make changes after every incremental backup tothe copy of the operating system registry and to other portions ofexternal drive 20 as described in the portions of the prior art so as tomake external drive 20 bootable over external USB bus 19.

In another embodiment of the invention, software backup application 17will be continuously running in the background. In this embodiment ofthe invention, software backup application 17 will, when a file in useby operating system 16 or by another software application is closed,immediately transfer a copy of the file to external drive 20 effectivelybacking up the file. If the embodiment of the invention had previouslymade changes to the system registry and other portions of system drive14 as described in the portions of the prior art, no other changes tothe copy of the system registry residing on external drive 20 will bemade. If the action of closing the file resulted in a change to thesystem registry residing on system drive 14, a copy of the systemregistry residing on system drive 14 will be transferred to externaldrive 20 ensuring that external drive 20 will be bootable and completein the event system drive 14 fails and the user needs to boot externaldrive 20 to effect a restore of system drive 14 or needs to bootexternal drive 20 to access data or applications residing on externaldrive 20.

As an initial action, the system may selectively format the externalstorage unit. The initial format operation may make that externalstorage unit bootable. Also, the backup program may operate to repairthe operating system residing on said internal storage unit when theoperating system is corrupted and will not boot. When the externalstorage unit is booted and formats said internal storage unit and copiesall files from said external storage unit to said internal storage unitthus making said internal storage bootable with all files that werecopied from said internal storage unit. In one embodiment, the internalstorage unit can be in new storage unit to replace a failed storageunit.

Now referencing FIG. 2 depicting an embodiment of the invention thatmakes reference to patent application Ser. No. 12/487,377, filed Jun.18, 2009.

This embodiment of the invention is a representation where 30 depictscomputer system 31 as used according to an embodiment. Computer system31 has microprocessor 33 connected to internal bus 32. BIOS (basicinput/output system) 35 contains a set of software used bymicroprocessor 33 for determining which hard disk drive contains theoperating system that will be executed. BIOS 35 also contains a textbased user interface application that can be invoked at boot time by theuser to specify the order in which drives are examined for an operatingsystem. Typically BIOS 35 will direct microprocessor to first attemptbooting an operating system from system drive 34. During the bootprocess microprocessor 33 transfers operating system 37 from systemdrive 34 to system memory 41, then transfers control to operating system36. In this embodiment of the invention there are two softwareapplications running. Software password lock/unlock application 38secures external drive 44 and Software backup application 37 backs upsystem drive 34 onto external drive 44. Software Password lock/unlockapplication 38 initially prompts the user for a password that will beused to lock external drive 44. Software Password lock/unlockapplication 38 will encrypt or obfuscate the password using the samealgorithm as used by BIOS 35 when BIOS 35 is used to lock or unlocksystem drive 34. Software Password lock/unlock application 38 will,under normal operations, ensure that external drive 44 is always locked.When software backup application 37 is initiated by the user orautomatically according to a schedule, software backup application willnotify software password lock/unlock application 38 to unlock externaldrive 44. Once software password lock/unlock application 38 has unlockedexternal drive 44 and notified software backup application 37 thatexternal drive 44 is unlocked, software backup application 37 willbackup system drive 34. Once system drive 34 is backed up, softwarebackup application 37 will notify software password lock/unlockapplication 38 to lock external drive 44.

In another embodiment of the invention the algorithms used by SoftwarePassword lock/unlock application 38 to lock and unlock external drive 44are native inside software backup application 37. In this embodiment ofthe invention, software backup application will lock and unlock externaldrive 44. In the event system drive 34 becomes unusable and externaldrive 44 is password locked, BIOS 35 will not be able to unlock externaldrive 44. In this embodiment of the invention, the user will insertCD/DVD diskette 46 into CD/DVD drive 45. CD/DVD diskette contains a copyof operating system 36 and software password lock/unlock application 38and software backup application 37. The user will use the text baseduser interface of BIOS 35 to reset the boot order of computer system 31such that BIOS 35 will first attempt to load an operating system fromCD/DVD drive 45. Once operating system 36 has been loaded and is beingexecuted by microprocessor 33, it will be directed by the user to loadsoftware backup application 37 and software password lock/unlockapplication 38. software password lock/unlock application 38 will querythe user for the password to unlock external drive 44. Once externaldrive 44 has been unlocked, the user will use the text based userinterface of BIOS 35 to reset the boot order of computer system 31 suchthat BIOS 35 will first attempt to load an operating system fromexternal drive 44 which is now unlocked. Once computer system 31 hasbeen booted from external drive 44, operating system 36 will loadsoftware backup application 37. The user can now use software backupapplication 37 to restore system drive 34 or can use other applicationson external drive 44 to access his data. In another embodiment of theinvention, the operating system residing on CD/DVD diskette 46 may beany of a plurality of operating systems such as Linux, Windows, or anyother operating system capable of being loaded from a CD/DVD driveconnected over a plurality of buses such as USB, IEEE-1394, or externalSATA. In this embodiment of the invention, software backup application37 and password lock/unlock software application will be compatible withthe operating system currently on CD/DVD diskette 46 and may not becompatible with the version of the operating system residing on externaldrive 44 or system drive 34. In another embodiment of the invention,external drive 44 and CD/DVD drive 45 may both be connected to externalperipheral controller 1 39.

Although only a few embodiments have been disclosed in detail above,other embodiments are possible and the inventors intend these to beencompassed within this specification. The specification describesspecific examples to accomplish a more general goal that may beaccomplished in another way. This disclosure is intended to beexemplary, and the claims are intended to cover any modification oralternative which might be predictable to a person having ordinary skillin the art. For example, other forms of lighting devices can be used.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the embodiments disclosed herein may be implemented aselectronic hardware, computer software, or combinations of both. Toclearly illustrate this interchangeability of hardware and software,various illustrative components, blocks, modules, circuits, and stepshave been described above generally in terms of their functionality.Whether such functionality is implemented as hardware or softwaredepends upon the particular application and design constraints imposedon the overall system. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the exemplary embodiments of the invention.

The various illustrative logical blocks, modules, and circuits describedin connection with the embodiments disclosed herein, may be implementedor performed with a general purpose processor, a Digital SignalProcessor (DSP), an Application Specific Integrated Circuit (ASIC), aField Programmable Gate Array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration. These devices may also be used to select values fordevices as described herein.

The steps of a method or algorithm described in connection with theembodiments disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in Random Access Memory (RAM), flashmemory, Read Only Memory (ROM), Electrically Programmable ROM (EPROM),Electrically Erasable Programmable ROM (EEPROM), registers, hard disk, aremovable disk, a CD-ROM, or any other form of storage medium known inthe art. An exemplary storage medium is coupled to the processor suchthat the processor can read information from, and write information to,the storage medium. In the alternative, the storage medium may beintegral to the processor. The processor and the storage medium mayreside in an ASIC. The ASIC may reside in a user terminal. In thealternative, the processor and the storage medium may reside as discretecomponents in a user terminal.

In one or more exemplary embodiments, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by acomputer. By way of example, and not limitation, such computer-readablemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium that can be used to carry or store desired program code inthe form of instructions or data structures and that can be accessed bya computer. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk and blu-ray discwhere disks usually reproduce data magnetically, while discs reproducedata optically with lasers. Combinations of the above should also beincluded within the scope of computer-readable media.

Also, the inventors intend that only those claims which use the words“means for” are intended to be interpreted under 35 USC 112, sixthparagraph. Moreover, no limitations from the specification are intendedto be read into any claims, unless those limitations are expresslyincluded in the claims. The computers described herein may be any kindof computer, either general purpose, or some specific purpose computersuch as a workstation. The programs may be written in C, or Java, Brewor any other programming language. The programs may be resident on astorage medium, e.g., magnetic or optical, e.g. the computer hard drive,a removable disk or media such as a memory stick or SD media, or otherremovable medium. The programs may also be run over a network, forexample, with a server or other machine sending signals to the localmachine, which allows the local machine to carry out the operationsdescribed herein.

Where a specific numerical value is mentioned herein, it should beconsidered that the value may be increased or decreased by 20%, whilestill staying within the teachings of the present application, unlesssome different range is specifically mentioned. Where a specifiedlogical sense is used, the opposite logical sense is also intended to beencompassed.

The previous description of the disclosed exemplary embodiments isprovided to enable any person skilled in the art to make or use thepresent invention. Various modifications to these exemplary embodimentswill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other embodiments withoutdeparting from the spirit or scope of the invention. Thus, the presentinvention is not intended to be limited to the embodiments shown hereinbut is to be accorded the widest scope consistent with the principlesand novel features disclosed herein.

1. A computer system, comprising: a computer system with: a system BIOS;an operating system that operates according to a system registry; atleast one internal storage unit, storing plural user files; at least oneexternally attached storage unit, over a computer-controlled bus; and afirst software application program, running on said computer system-,wherein said first software application program runs a backup routine aplurality of times based on actions on the computer, said first softwareapplication program running to: initially selectively formats saidexternal storage unit; initially copies each of the files from saidinternal storage unit to said external storage unit; and initially formsa system registry on said external storage unit such that said externalstorage unit is bootable over said computer controlled bus; andincrementally updating said files and said system registry on saidexternal storage unit, wherein said first software application programchanges the system registry on said external storage unit at each of aplurality of times of running of said first software application.
 2. Asystem as in claim 1, wherein said internal and external storage unitsare hard disk drives.
 3. A system as in claim 1, wherein said computercontrolled bus is a USB bus.
 4. A system as in claim 1, wherein saidfirst software application program repairs said operating systemresiding on said internal storage unit when said operating system iscorrupted and will not boot.
 5. A system as in claim 4, wherein saidsystem registry on said external storage unit operates when saidexternal storage unit is booted and formats said internal storage unitand copies all files from said external storage unit to said internalstorage unit thus making said internal storage bootable with all filesthat were copied from said internal storage unit.
 6. A system as inclaim 5, wherein said internal storage unit is a storage unit to replacea failed storage unit.
 7. A system as in claim 4, wherein said repairscomprise first changing a setting to boot from said external storageunit; formatting said internal storage unit; copying, file by file, thefiles from said external storage unit to said internal storage unit andrendering said internal storage unit bootable; and after said copying,changing said setting such that said internal storage unit is booted. 8.A system as in claim 1, where said software application detects changesto contents on said internal storage unit, creates a bootable file byfile image of said internal storage unit onto said external storageunit; when the user attaches said external storage unit to a secondcomputer system, allows said external storage unit will be booted as asystem storage unit, and after booting, said first software applicationcreates a bootable file by file image of said external storage unit ontosaid second computer's internal storage unit.
 9. A system as in claim 1,where said software application allows file backup onto internal storageunits of multiple computer systems for the purpose of updating softwareand/or data files on said multiple computer systems.
 10. A method,comprising: running an operating system on a computer, that operatesaccording to a system registry, said operating system resident on atleast one internal storage unit, and plural user files also being storedon said internal storage unit; connecting to at least one externallyattached storage unit, over a computer-controlled bus; using a firstsoftware application program, running on said computer to selectivelyformat an external storage unit, copy each of the files from saidinternal storage unit to said external storage unit, and forms abootable image on said external storage unit such that said externalstorage unit is bootable over said computer controlled bus; and usingsaid first software application program for incrementally updating saidfiles and said system registry on said external storage unit, whereinsaid first software application program changes the system registry onsaid external storage unit at each of a plurality of times of running ofsaid first software application.
 11. A method as in claim 10, furthercomprising determining that said operating system residing on saidinternal storage unit is corrupted, and using said image on saidexternal storage unit to repair said operating system.
 12. A method asin claim 11, wherein said repair comprises, booting said computer usingsaid external storage unit; formatting said internal storage unit andcopying all files from said external storage unit to said internalstorage unit; using said files to make said internal storage bootablewith all files that were copied from said internal storage unit.
 13. Amethod as in claim 12, wherein said internal storage unit is a storageunit to replace a failed storage unit.
 14. A method as in claim 12,wherein said repairs comprise first changing a setting to boot from saidexternal storage unit; formatting said internal storage unit; copying,file by file, the files from said external storage unit to said internalstorage unit and rendering said internal storage unit bootable; andafter said copying, changing said setting such that said internalstorage unit is booted.
 15. A method as in claim 12, where said softwareapplication detects changes to contents on said internal storage unit,creates a bootable file by file image of said internal storage unit ontosaid external hard storage unit; when the user attaches said externalstorage unit to a second computer method, allows said external storageunit will be booted as the method hard storage unit, and after booting,said first software application creates a bootable file by file image ofsaid external storage unit onto said second computer's internal storageunit.
 16. A method as in claim 10, where said software applicationcontrols file backup onto internal storage units of multiple computersystems for the purpose of updating software and/or data files on saidmultiple computer systems.
 17. A system as in claim 1, wherein saidfirst software application automatically detects a change to the systemregistry and automatically runs said incrementally updating each timethat a change to said system registry is detected.
 18. A system as inclaim 17, wherein said change to the system registry is caused byclosing a file, and said change to the system registry automaticallyruns said incrementally updating.
 19. A method as in claim 10, whereinsaid using said first software application automatically detects achange to the system registry and automatically runs said incrementallyupdating each time that a change to said system registry is detected.20. A method as in claim 19, wherein said change to the system registryis caused by closing a file, and said change to the system registryautomatically runs said incrementally updating.